1. Field of the Invention
The present invention generally relates to data base management systems and more particularly relates to enhancements for dynamically building a customized user interface with the data base management system via the Internet.
2. Description of the Prior Art
Data base management systems are well known in the data processing art. Such commercial systems have been in general use for more than 20 years. One of the most successful data base management systems is available from Unisys Corporation and is called the MAPPER(copyright) data base management system. The MAPPER system can be reviewed using the MAPPER User""s Guide which may be obtained from Unisys Corporation.
The MAPPER system, which runs on proprietary hardware also available from Unisys Corporation, provides a way for clients to partition data bases Into structures called cabinets, drawers, and reports as a way to offer a more tangible format. The MAPPER data base manager utilizes various predefined high-level instructions whereby the data base user may manipulate the data base to generate human-readable data presentations. The user is permitted to prepare lists of the various predefined high-level instructions into data base manager programs called xe2x80x9cMAPPER Runsxe2x80x9d. Thus, users of the MAPPER system may create, modify, and add to a given data base and also generate periodic and aperiodic updated reports using various MAPPER Runs.
However, with the MAPPER system, as well as with similar proprietary data base management systems, the user must interface with the data base using a terminal coupled directly to the proprietary system and must access and manipulate the data using the MAPPER command language of MAPPER. Ordinarily, that means that the user must either be co-located with the hardware which hosts the data base management system or must be coupled to that hardware through dedicated data links. Furthermore, the user usually needs to be schooled in the command language of MAPPER (or other proprietary data base management system) to be capable of generating MAPPER Runs.
Since the advent of large scale, dedicated, proprietary data base management systems, the internet or world wide web has come into being. Unlike closed proprietary data base management systems, the internet has become a world wide bulletin board, permitting all to achieve nearly equal access using a wide variety of hardware, software, and communication protocols. Even though some standardization has developed, one of the important characteristics of the world wide web is its ability to constantly accept new and emerging techniques within a global framework. Many current users of the internet have utilized several generations of hardware and software from a wide variety of suppliers from all over the world. It is not uncommon for current day young children to have ready access to the world wide web and to have substantial experience in data access using the internet.
Thus, the major advantage of the internet is its universality. Nearly anyone, anywhere can become a user. That means that virtually all persons are potentially internet users without the need for specialized training and/or proprietary hardware and software. One can readily see that providing access to a proprietary data base management system, such as MAPPER, through the internet would yield an extremely inexpensive and universally available means for accessing the data which it contains and such access would be without the need for considerable specialized training.
There are two basic problems with permitting internet access to a proprietary data base. The first is a matter of security. Because the internet is basically a means to publish information, great care must be taken to avoid intentional or inadvertent access to certain data by unauthorized Internet users. In practice this is substantially complicated by the need to provide various levels of authorization to internet users to take full advantage of the technique. For example, one might have a first level involving no special security features available to any Internet user. A second level might be for specific customers, whereas a third level might be authorized only for employees. One or more fourth levels of security might be available for officers or others having specialized data access needs.
Existing data base managers have security systems, of course. However, because of the physical security with a proprietary system, a certain degree of security is inherent in the limited access. On the other hand, access via the Internet is virtually unlimited which makes the security issue much more acute.
Current day security systems involving the world wide web involve the presentation of a user-id and password. Typically, this user-id and password either provides access or denies access in a binary fashion. To offer multiple levels of secure access using these techniques would be extraordinarily expensive and require the duplication of entire databases and or substantial portions thereof. In general, the advantages of utilizing the world wide web in this fashion to access a proprietary data base are directly dependent upon the accuracy and precision of the security system involved.
The second major problem is imposed by the internet protocol itself. One of the characteristics of the internet which makes it so universal is that any single transaction in HTML language combines a single transfer (or request) from a user coupled with a single response from the internet server. In general, there is no means for linking multiple transfers (or requests) and multiple responses. In this manner, the internet utilizes a transaction model which may be referred to as xe2x80x9cstatelessxe2x80x9d. This limitation ensures that the internet, its users, and its servers remain sufficiently independent during operation that no one entity or group of entities can unduly delay or xe2x80x9chang-upxe2x80x9d the communications system or any of its major components. Each transmission results in a termination of the transaction. Thus, there is no general purpose means to link data from one internet transaction to another, even though in certain specialized applications limited amounts of data may be coupled using xe2x80x9ccookiesxe2x80x9d or via attaching data to a specific HTML screen.
However, some of the most powerful data base management functions or services of necessity rely on coupling function attributes and data from one transaction to another in dialog fashion. In fact this linking is of the essence of Mapper Runs which assume change of state from one command language statement to the next. True statelessness from a first MAPPER command to the next or subsequent MAPPER command would preclude much of the power of MAPPER (or any other modern data base management system) as a data base management tool and would eliminate data base management as we now know it.
Providing the system with the capability to save the needed information from transaction to transaction permits applications to be developed for a true dialog-type interface between the legacy data base management system and an Internet terminal. However, to make maximum use of the database management system from the Internet terminal, an appropriate customized user interface is required. With previous systems, the user interface was predefined in accordance with the related Internet connection.
An additional problem arises with regard to displays of certain hierarchical lists to the user. In current architectures, Web-based applications and Web sites use HTML frames and static menus to display lists of data. Typically the left frame displays all the items at the first level of the list. When the user selects a first-level item in the left frame, the HTML page displays a list of second-level items in the right frame. To mimic the functionality of hierarchical lists, this approach relies on frames that, according to generally accepted principles and guidelines of Web design and usability, are to be avoided.
In accordance with user interface to the web, previous approaches have typically displayed a generic home page from a web-based application or a web site which was arbitrarily created and was considered satisfactory for the average user""s screen resolution (i.e., screen resolution was ordinarily set for the xe2x80x9clowest common denominatorxe2x80x9d). Because the resulting HTML page is not optimized for a particular user""s screen resolution, the HTML page either wastes screen real estate or requires the user to adjust the horizontal and vertical scroll bars to see the entire page. This xe2x80x9cone size fits allxe2x80x9d approach does not suit all users needing to develop Web-based applications quickly and with a minimum of start-up time.
The present invention overcomes the disadvantages of the prior art by providing a method of and apparatus for utilizing multiple components within a legacy data base management system to display hierarchical lists on an Internet terminal with a range of selectable resolutions. In order to permit such functionality, the present invention must first provide an Interface herein referred to generically as a gateway, which translates transaction data transferred from the user over the internet in HTML format into a format from which data base management system commands and inputs may be generated. The gateway must also convert the data base management system responses and outputs for usage on the users internet terminal. Thus, as a minimum, the gateway must make these format and protocol conversions. In the preferred embodiment, a number of gateways reside in the web server coupled to the user via the world wide web and coupled to proprietary data base management system.
To make access to a proprietary data base by Internet users practical, a sophisticated security system is required to prevent intentional or inadvertent unauthorized access to the sensitive data of an organization. As discussed above, such a security system should provide multiple levels of access to accommodate a variety of authorized user categories. In the preferred embodiment of the present invention, rather than defining several levels of data classification, the different classes of users are managed by identifying a security profile as a portion of those service requests requiring access to secure data. Thus, the security profile accompanies the data/service to be accessed. User information is correlated to the access permitted. This permits certain levels of data to be accessed by one or more of the several classes of user.
In the preferred mode of practicing the present invention, a given user is correlated with a security profile. Upon preparation of the service request which provides internet access to a given portion of the data-base, the service request developer specifies which security profiles are permitted access to the data or a portion thereof. The service request developer can subsequently modify the accessibility of any security profile. The utility of the system is greatly enhanced by permitting the service request developer to provide access to predefined portions of the data, rather than being limited to permit or deny access to all of the data involved.
The present invention also permits the system to modify and redefine the security profiles during operation. In accordance with the preferred technique, the system administrator can access an individual user and directly modify the security profile just for that user. This is accomplished by calling up an HTML page for the selected user showing the security profile of record. Me system administrator makes changes as appropriate. The Data Wizard Security Service generates script associated with the security profile change which provides the selected user with the new set of access privlleges.
Whereas the gateway and the security system are the minimum necessary to permit the most rudimentary form of communication between the internet terminal of the user and the proprietary data base management system, as explained above, the internet is a xe2x80x9cstatelessxe2x80x9d communication system; the addition of the gateway and the security system do not change this statelessness. To unleash the real power of the data base management system, the communication protocol between the data base and the user requires functional interaction between the various data transfers.
The present invention adds security management and state management to this environment. Instead of considering each transfer from the internet user coupled with the corresponding server response as an isolated transaction event as defined by the world wide web, one or more related service requests may be functionally associated in a service request sequence as defined by the data base management system into a dialog.
A repository is established to store the state of the service request sequence. As such, the repository can store intermediate requests and responses, as well as other data associated with the service request sequence. Thus, the repository buffers commands, data, and intermediate products utilized in formatting subsequent data base management service requests and in formatting subsequent data to be available to the user""s browser.
The transaction data in HTML, format received by the server from the user, along with the state information stored in the repository, are processed by a service handier into a sequence of service requests in the command language of the data base management system.
Through the use of the repository to store the state of the service request sequence, the service handler to execute data base management commands, the world wide web user is capable of performing each and every data base management function available to any user, including a user from a proprietary terminal having a dedicated communication link which is co-located with the proprietary data base management system hardware and software. In addition, the data base management system user at the world wide web terminal is able to accomplish this, without extensive training concerning the command language of the data base management system.
In accordance with the preferred mode of the present invention, the Cool ICE Data Wizard Join Service provides a web based interface that allows a developer to create a web based service that joins tables from MAPPER Reports, MAPPER runs, databases that are ODBC compliant, and many RDMS, and MAPPER. This service renders the resulting table to the web. This result can be rendered to the web either by a Cool ICE Script or by an Active Server Page.
In accordance with the present invention, a customized user interface is built from multiple components stored in the proprietary database management system. Unlike previous approaches, the web-based service component is split into multiple components: an application service component, a screen component, a receiving service component, and a new template component.
The screen component calls the template component, which collects all of the indexed pieces that it needs from within the proprietary database and displays this dynamically built data in the browser. When an action against the data is initiated from the browser, the receiving service component is called to perform the specified action and then inform the user that the action has completed. These multiple components seamlessly interact to build a consistent user interface that can easily be tailored to meet users"" presentation and performance needs.
By separating the code into multiple components, this new architecture allows adaptability to the user""s environment, ease of maintenance, and ease of localization. Users can easily alter the look-and-feel of the user interface by making changes to the new template component. For example, changes to layout, color, use of graphics, or addition of a company-specific logo can quickly and easily be done by simply making changes to the template component. By choosing to exclude large graphical elements from the template component, performance enhancements may also be realized. In addition, the template component gives the user a wide range of languages in which to program their user Interface including HTML, HDML, XML, WML, JavaScript, Vbscript, and WMLscript. This tremendous flexibility gives the user a fast and effective way to tailor their user interface.
In accordance with the present invention, the preferred embodiment employs a new architecture which uses the proprietary data base management system, along with a combination of HTML and server-side scripting language, to implement a multi-level hierarchical list. The new mechanism uses a table of data items in the proprietary database to build the hierarchical list and tailor it to the specific user of the Web-based application or Web site. This mechanism dynamically generates the list from the table data and displays it in an HTML page as an expandable/collapsible menu listing. This solution does not require the Web application developer to use frames or to hard-code a static hierarchical list.
By dynamically generating hierarchical lists from the proprietary database management system, the new architecture enables Web site developers to build more interactive and usable Web-based applications and Web sites that incorporate features that are widely desired.
In accordance with the preferred embodiment, the proprietary data base contains multiple HTML home pages, each optimized for a different screen resolution. This technique provides a mechanism for the administrator or user to modify the existing pages in the database for a specific Web application or Web site. In the alternative the administrator or user can create additional home pages, save them in the proprietary data base, and then enabled the page through this same facility.
By building multiple home pages and storing them in a proprietary database, the present invention enables the administrator to easily adapt the home page of a web-based application or web site to any multi-user environment. This new approach, along with the proprietary data base management system, enables the user to create home pages from a wide variety of languages including HTML, HDML, XML/XSL, WML, JavaScript, VBScript, and WML scriptxe2x80x94thus greatly enhancing presentation and performance.